home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / smaltalk / manchest.lha / MANCHESTER / manchester / 4.1 / ComponentView.st < prev    next >
Text File  |  1993-07-24  |  2KB  |  77 lines

  1. "    NAME        ComponentView
  2.     AUTHOR        miw@cs.man.ac.uk (Mario Wolczko)
  3.     FUNCTION    A simple way of adding controller facilities to a VisualComponent
  4.     ST-VERSION    4.1
  5.     PREREQUISITES    
  6.     CONFLICTS    
  7.     DISTRIBUTION    world
  8.     VERSION        1
  9.     DATE         10 Nov 1992
  10. SUMMARY ComponentView is a simple way of adding controller facilities
  11. to a VisualComponent.  By embedding a VisualComponent within a
  12. ComponentView, a menu controller (eg) can be attached.  CompositeView
  13. could be used, but it''s overkill if there is only one component.
  14.  
  15. Dept. of Computer Science   Internet:      mario@cs.man.ac.uk
  16. The University              uucp:      uknet!!man.cs!!mario
  17. Manchester M13 9PL          JANET:         mario@uk.ac.man.cs
  18. U.K.                        Tel: +44-61-275 6146  (FAX: 6236)
  19. ______the mushroom project___________________________________
  20.  
  21. "
  22. 'From Objectworks\Smalltalk(R), Release 4.1 of 15 April 1992 on 10 November 1992 at 12:17:54 am'!
  23.  
  24. View subclass: #ComponentView
  25.     instanceVariableNames: 'component '
  26.     classVariableNames: ''
  27.     poolDictionaries: ''
  28.     category: 'Interface-Framework'!
  29. ComponentView comment:
  30. 'ComponentView is a simple way of adding controller facilities to a VisualComponent.
  31. By embedding a VisualComponent within a ComponentView, a menu controller (eg) can be attached.  CompositeView could be used, but it''s overkill if there is only one component.
  32.  
  33. Instance variable:
  34. component     a <VisualComponent> without a controller (not a VisualPart, as these often have their own controllers).'!
  35.  
  36.  
  37. !ComponentView methodsFor: 'bounds accessing'!
  38.  
  39. bounds
  40.     "Answer the component's bounds."
  41.  
  42.     ^component bounds!
  43.  
  44. translateBounds: aPoint
  45.     controller notNil ifTrue: [controller translateSensorBounds: aPoint]! !
  46.  
  47. !ComponentView methodsFor: 'display box accessing'!
  48.  
  49. preferredBounds
  50.     ^component preferredBounds! !
  51.  
  52. !ComponentView methodsFor: 'displaying'!
  53.  
  54. displayOn: aGraphicsContext
  55.     component displayOn: aGraphicsContext! !
  56.  
  57. !ComponentView methodsFor: 'layout'!
  58.  
  59. rectangleRelativeTo: containingBoundingBox
  60.     "Answer a rectangle for the receiver relative to the containingBoundingBox."
  61.  
  62.     ^component rectangleRelativeTo: containingBoundingBox! !
  63.  
  64. !ComponentView methodsFor: 'private'!
  65.  
  66. setComponent: c
  67.     component := c! !
  68. "-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- "!
  69.  
  70. ComponentView class
  71.     instanceVariableNames: ''!
  72.  
  73.  
  74. !ComponentView class methodsFor: 'instance creation'!
  75.  
  76. on: aVisualComponent
  77.     ^self new setComponent: aVisualComponent! !